package com.example.base.security.domain.vo;

import com.example.base.system.domain.SysApi;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

@Data
@ApiModel("菜单模块")
public class SysMenuVo {

    @ApiModelProperty("菜单id")
    private Integer menuId;

    @ApiModelProperty("菜单路径")
    private String path;

    @ApiModelProperty("菜单组件")
    private String component;

    @ApiModelProperty("菜单图标")
    private String menuIcon;

    @ApiModelProperty("菜单名称")
    @NotBlank(message = "菜单名称不得为空")
    private String menuName;

    @ApiModelProperty("父菜单id")
    @NotNull(message = "菜单父id不得为空")
    private Integer parentMenuId;

    @ApiModelProperty("菜单权限")
    private String permission;

    @ApiModelProperty("菜单类型")
    private String menuType;

    @ApiModelProperty("菜单颜色")
    private String menuColor;

    @ApiModelProperty("菜单是否隐藏")
    private Boolean menuHidden;

    @ApiModelProperty("菜单是否整页路由")
    private Boolean menuFullpage;

    @ApiModelProperty("菜单高亮")
    private String menuActive;

    @ApiModelProperty("菜单重定向")
    private String menuRedirect;

    @ApiModelProperty("菜单标签")
    private String menuTag;

    private List<SysApi> apiList;
}
